package Class_AND_Objection;

/**
 * 任务：已知一个球的半径为 12.0，求该球的表面积。
 * 类名为：Sphere
 */

public class Sphere {

// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码

    /********** Begin **********/

    // 定义圆的半径和π，π为 Math中的π
    private double radius;
    private static final double PI = Math.PI;

    // 无参构造
    public Sphere() {
        radius = 12.0;
    }

    // 有参构造
    public Sphere(double radius) {
        this.radius = radius;
    }

    /**
     * 定义一个方法，该方法实现计算球的表面积，返回值为double，携带一个参数，为球的半径
     */
    public static double calculateSurfaceArea(double radius) {
        return 4 * PI * radius * radius;
    }

    // 定义主方法
    public static void main(String[] args) {
        // 通过无参构造创建球对象
        Sphere sphere = new Sphere();

        // 调用计算球面积的方法，将半径 r 的值传入
        double surfaceArea = calculateSurfaceArea(sphere.radius);

        // 四舍五入格式化不换行输出球的面积，输出格式：球的表面积为xx
        System.out.printf("球的表面积为%.2f", surfaceArea);
    }

/********** End **********/

}

